#ifndef _VALUE_LIST_VIEW_H_
#define _VALUE_LIST_VIEW_H_

#include "common.h"

class	Value_List_View : public Gtk::TreeView
{
public:
	Value_List_View();
	virtual ~Value_List_View();
	sigc::signal<void, const Gtk::TreeModel::Path & , Gtk::TreeViewColumn *> edit_selected_;
	sigc::signal<void, const Gtk::TreeModel::iterator &> delete_selected_;
	
protected:
	virtual bool 	on_button_release_event(GdkEventButton* event);
	virtual void	on_create_key();
	virtual void	on_modify();
	virtual void	on_delete();
	virtual void	on_rename();

private:
	int	create_popup_menu();

	Glib::RefPtr<Gtk::UIManager> popup_ui_manager_;
	Glib::RefPtr<Gtk::ActionGroup> popup_action_group_;
	Gtk::Menu new_item_popup_menu_;
	Gtk::Menu access_item_popup_menu_;
	Gtk::Menu * menu_popup_;
};

#endif
